﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using SOAPRipleyService.Dominio;
using SOAPRipleyService.Persistencia;

namespace SOAPRipleyService.Persistencia
{
    public class ClienteDAO
    {

        public Cliente ObtenerCliente(int dni)
        {
            Cliente ClienteEncontrada = null;
            string sql = "SELECT * FROM t_Cliente WHERE dni = @dni ";
            using (SqlConnection cn = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                cn.Open();
                using (SqlCommand com = new SqlCommand(sql, cn))
                {
                    com.Parameters.Add(new SqlParameter("@dni", dni));
                    using (SqlDataReader resultado = com.ExecuteReader())
                    {
                        if (resultado.Read())
                        {
                            
                            ClienteEncontrada = new Cliente()
                            {
                                dni = (int)resultado["dni"],
                                nombres = (string)resultado["nombres"],
                                apellidoPaterno = (string)resultado["apellidoPaterno"],
                                apellidoMaterno = (string)resultado["apellidoMaterno"],
                                direccion = (string)resultado["direccion"],
                                lineaCredito = (decimal)resultado["lineaCredito"],
                                tarjeta = (string)resultado["tarjeta"],
                                estado="A"
                            };
                        }
                    }
                }
            }
            return ClienteEncontrada;
        }

        public List<Cliente> ListarTarjetasCliente()
        {
            List<Cliente> ClientesEncontradas = new List<Cliente>();
            Cliente ClienteEncontrada = null;
            string sql = "SELECT * FROM t_Cliente where tarjeta='0' and estado is null";
            using (SqlConnection con = new SqlConnection(ConexionUtil.ObtenerCadena()))
            {
                con.Open();
                using (SqlCommand com = new SqlCommand(sql, con))
                {
                    using (SqlDataReader resultado = com.ExecuteReader())
                    {
                        while (resultado.Read())
                        {
                            ClienteEncontrada = new Cliente()
                            {
                                dni = (int)resultado["dni"],
                                nombres = (string)resultado["nombres"],
                                apellidoPaterno = (string)resultado["apellidoPaterno"],
                                apellidoMaterno = (string)resultado["apellidoMaterno"],
                                direccion=(string)resultado["direccion"],
                                lineaCredito = (decimal)resultado["lineaCredito"],
                                tarjeta = (string)resultado["tarjeta"],
                            };
                            ClientesEncontradas.Add(ClienteEncontrada);
                        }
                    }
                }
            }
            return ClientesEncontradas;
        }
      
    }
}